<?php
class ventas_model extends CI_Model{
	
	function __construct(){
		parent::__construct();
	}
	
	
	
	/**
	 * 					FACTURACION
	 * **********************************************
	 * Obtiene el listado de ordenes de trabajo
	 */
	public function getVentasVendedor(){
		$sql = isset($_GET['fid_vendedor']{0})? " AND id_empleado = '".$_GET['fid_vendedor']."'": '';
		$response['vende'] = $this->db->query("
				SELECT
					id_empleado, nombre, apellido_paterno, apellido_materno
				FROM empleados
				WHERE status = 'contratado'".$sql."
				")->result();
		foreach($response['vende'] as $key => $vend){
			$response['vende'][$key]->ventas = $this->db->query("
					SELECT
						ot.id_ordent AS id_obj, ot.id_vendedor, cs.nombre_fiscal, ot.serie, ot.folio, Date(ot.fecha) AS fecha,
						ot.subtotal, ot.total, ot.importe_iva, ot.comision_venta
					FROM ordenest AS ot
						INNER JOIN clientes_sucursales AS cs ON cs.id_sucursal = ot.id_cliente
					WHERE ot.status <> 'ca' AND ot.status <> 'n' AND ot.id_vendedor = '".$vend->id_empleado."'
						AND Date(ot.fecha) BETWEEN '".$this->input->get('ffecha1')."' AND '".$this->input->get('ffecha2')."'
					")->result();
		}
	
		return $response;
	}
	
	/**
	 * Actualiza la comision de la venta asignada a un vendedor
	 */
	public function updateComisionVenta(){
		$this->db->update('ordenest',
				array('comision_venta' => $_POST['comision']),
				"id_ordent = '".$_POST['id_orden']."'");
	
		return array(true, '');
	}
	
	/**
	 * Descarga el reporte ventas por vendedor
	 */
	public function ventasVendedorPdf(){
		$this->load->library('mypdf');
		// Creación del objeto de la clase heredada
		$pdf = new MYpdf('P', 'mm', 'Letter');
		$pdf->titulo2 = 'Reporte de ventas por vendedor';
		$pdf->titulo3 = 'Del: '.$this->input->get('ffecha1')." Al ".$this->input->get('ffecha2')."\n";
		$pdf->titulo3 .= (isset($_GET['fid_vendedor']{0})? 'De '.$this->input->get('fvendedor'): 'Todos');
		$pdf->AliasNbPages();
		//$pdf->AddPage();
		$pdf->SetFont('Arial','',8);
	
		$aligns = array('C', 'L', 'C', 'R', 'R', 'R');
		$widths = array(24, 85, 24, 24, 24, 24);
		$header = array('Fecha', 'Cliente', 'Folio', 'Total', 'Comision', 'T. Comision');
	
		$pdf->AddPage();
		
		$res = $this->getVentasVendedor();
		$total_subtotal = $total_comision = $total_subtotalt = $total_comisiont = 0;
		foreach($res['vende'] as $key => $item){
			$total_subtotal = 0;
			$total_comision = 0;
			
			$pdf->SetTextColor(0,0,0);
			$pdf->SetFont('Arial','B', 10);
			$pdf->SetX(6);
			$pdf->SetAligns(array('L'));
			$pdf->SetWidths(array(200));
			$pdf->Row(array($item->nombre.' '.$item->apellido_paterno.' '.$item->apellido_materno), false, false);
			
			$pdf->SetFont('Arial','B',8);
			$pdf->SetTextColor(255,255,255);
			$pdf->SetFillColor(160,160,160);
			$pdf->SetX(6);
			$pdf->SetAligns($aligns);
			$pdf->SetWidths($widths);
			$pdf->Row($header, true);
			
			foreach($item->ventas as $key2 => $val2){
				if($pdf->GetY() >= $pdf->limiteY){ //salta de pagina si exede el max
					$pdf->AddPage();
				}
				
				$comision = $val2->subtotal*($val2->comision_venta/100);
				$pdf->SetFont('Arial','',8);
				$pdf->SetTextColor(0,0,0);
				$datos = array($val2->fecha,
						$val2->nombre_fiscal,
						$val2->serie.'-'.$val2->folio,
						String::formatoNumero($val2->subtotal),
						String::formatoNumero($val2->comision_venta),
						String::formatoNumero($comision));
				$total_subtotal += $val2->subtotal;
				$total_comision += $comision;
				$total_subtotalt += $val2->subtotal;
				$total_comisiont += $comision;
				
				$pdf->SetX(6);
				$pdf->SetAligns($aligns);
				$pdf->SetWidths($widths);
				$pdf->Row($datos, false);
			}
				
			$pdf->SetX(6);
			$pdf->SetFont('Arial','B',8);
			$pdf->SetTextColor(255,255,255);
			$pdf->Row(array('Total:',
					'',
					'',
					String::formatoNumero($total_subtotal),
					'',
					String::formatoNumero($total_comision)), true);
		}
	
		$pdf->SetX(6);
		$pdf->SetFont('Arial','B',8);
		$pdf->SetTextColor(255,255,255);
		$pdf->Row(array('Total:',
				'',
				'',
				String::formatoNumero($total_subtotalt),
				'',
				String::formatoNumero($total_comisiont)), true);
	
		$pdf->Output('cuentas_x_cobrar.pdf', 'I');
	}
	
	
}